﻿<%@ Page Title="Thống kê hợp đồng chi tiết" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ThongKeHopDongChiTiet.aspx.cs" Inherits="QuanLyHopDong.Web.ThongKe.ThongKeHopDongChiTiet" %>
<%@ Import Namespace="Resources" %>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <h3>Thống kê hợp đồng chi tiết</h3>
    <div class="filtering">
        Ngày quyết toán: <asp:TextBox ID="txtNgayQuyetToanFrom" runat="server" CssClass="textEntry date datepicker"></asp:TextBox>
                    -
                    <asp:TextBox ID="txtNgayQuyetToanTo" runat="server" CssClass="textEntry date datepicker"></asp:TextBox>
        <button type="submit" id="LoadRecordsButton"><%=GlobalStrings.LoadRecords %></button>
        <button type="submit" id="ResetButton"><%=GlobalStrings.Reset %></button>
    </div>
    <asp:Button ID="btnExport1" runat="server" Text="Xuất Excel" OnClick="btnExport_Click" />
    <div id="ListContainer"></div>
    <asp:Button ID="btnExport" runat="server" Text="Xuất Excel" OnClick="btnExport_Click" />
    
    <script type="text/javascript">
        var clientIds = {
            NgayQuyetToanFrom: "#<%=txtNgayQuyetToanFrom.ClientID %>",
            NgayQuyetToanTo: "#<%=txtNgayQuyetToanTo.ClientID %>"
        };

        $(function () {
            $(clientIds.NgayQuyetToanFrom).calendar({ timeSeparators: null });
            $(clientIds.NgayQuyetToanTo).calendar({ timeSeparators: null });

            $('#ListContainer').jtable({
                title: '',
                paging: false,
                sorting: false,
                actions: {
                    listAction: 'ThongKeHopDongChiTiet.aspx/HopDongList'
                },
                fields: {
                    SoHopDong: { title: 'Số HĐ' },
                    TenHopDong: {
                        title: 'Tên HĐ',
                        display: function (data) {
                            return '<a target="_blank" title="Chi tiết hợp đồng" href="/HopDong/HopDongChiTiet.aspx?hopDongId=' + data.record.Id + '">' + data.record.TenHopDong + '</a>';
                        }
                    },
                    TenDonVi: { title: 'Đơn vị' },
                    NgayQuyetToan: {
                        title: 'Ngày quyết toán', type: 'date',
                        displayFormat: 'dd/mm/yy',
                        listClass: 'right'
                    },
                    TongGiaTriHopDong: {
                        title: 'Giá trị HĐ',
                        display: function (data) {
                            return custom_number_format(data.record.TongGiaTriHopDong);
                        },
                        listClass: 'right'
                    },
                    GiaTriHopDongChuaVAT: {
                        title: 'Trước thuế',
                        display: function (data) {
                            return custom_number_format(data.record.GiaTriHopDongChuaVAT);
                        },
                        listClass: 'right'
                    },
                    GiaTriQuyetToan: {
                        title: 'Giá trị Quyết toán',
                        display: function (data) {
                            return custom_number_format(data.record.GiaTriQuyetToan);
                        },
                        listClass: 'right'
                    },
                    GiaTriQuyetToanNoiBo: {
                        title: 'Giá trị Thanh toán nội bộ', 
                        display: function (data) {
                            return custom_number_format(data.record.GiaTriQuyetToanNoiBo);
                        },
                        listClass: 'right'
                    },
                    TongSoTienDaThanhToan: {
                        title: 'Đã chuyển tiền',
                        display: function (data) {
                            return custom_number_format(data.record.TongSoTienDaThanhToan);
                        },
                        listClass: 'right'
                    },
                    TongSoTienChuaThanhToan: {
                        title: 'Chưa thanh toán',
                        display: function (data) {
                            return custom_number_format(data.record.TongSoTienChuaThanhToan);
                        },
                        listClass: 'right'
                    },
                    SoTienConLai: {
                        title: 'Còn lại',
                        display: function (data) {
                            return custom_number_format(data.record.SoTienConLai);
                        },
                        listClass: 'right'
                    }
                },
                recordsLoaded: function(event, data) {
                    if (data.records.length === 0) {
                        return;
                    }

                    // get totals
                    var totals = [0, 0, 0, 0, 0, 0, 0];
                    $.each(data.records, function(index, item) {
                        totals[0] += item.GiaTriHopDongChuaVAT ? item.GiaTriHopDongChuaVAT : 0;
                        totals[1] += item.GiaTriQuyetToan ? item.GiaTriQuyetToan : 0;
                        totals[2] += item.GiaTriQuyetToanNoiBo ? item.GiaTriQuyetToanNoiBo : 0;
                        totals[3] += item.TongSoTienDaThanhToan ? item.TongSoTienDaThanhToan : 0;
                        totals[4] += item.TongSoTienChuaThanhToan ? item.TongSoTienChuaThanhToan : 0;
                        totals[5] += item.SoTienConLai ? item.SoTienConLai : 0;
                        totals[6] += item.TongGiaTriHopDong ? item.TongGiaTriHopDong : 0;
                    });
                    var rowTotal = '<tr class="row-total"><td></td><td></td><td></td><td></td>' +
                        '<td>' + custom_number_format(totals[6]) + '</td>' +
                        '<td>' + custom_number_format(totals[0]) + '</td>' +
                        '<td>' + custom_number_format(totals[1]) + '</td>' +
                        '<td>' + custom_number_format(totals[2]) + '</td>' +
                        '<td>' + custom_number_format(totals[3]) + '</td>' +
                        '<td>' + custom_number_format(totals[4]) + '</td>' +
                        '<td>' + custom_number_format(totals[5]) + '</td>' +
                        '</tr>';
                    $('.jtable tbody').append(rowTotal);
                }
            });

            //Re-load records when user click 'load records' button.
            $('#LoadRecordsButton').click(function (e) {
                e.preventDefault();
                $('#ListContainer').jtable('load', {
                    ngayQuyetToanFrom: $(clientIds.NgayQuyetToanFrom).val(),
                    ngayQuyetToanTo: $(clientIds.NgayQuyetToanTo).val()
                });
            });

            // Reset button
            $('#ResetButton').click(function (e) {
                e.preventDefault();
                $(clientIds.NgayQuyetToanFrom).val('');
                $(clientIds.NgayQuyetToanTo).val('');
                $('#LoadRecordsButton').click();
            });

            //Load all records when page is first shown
            //$('#LoadRecordsButton').click();
        });
    </script>
</asp:Content>
